Skip to content

Conversation

@YasInvolved
Copy link
Contributor

Description

Testing

TODO list:

@devshgraphicsprogramming
Copy link
Member

devshgraphicsprogramming commented Sep 29, 2025

@Erfan-Ahmadi note that we can't use GPUinfo.org cause its on AGPL license, so its either vkinfo -j or Vulkan Profiles library, both from the Vulkan SDK

renderdoc_api_t* const m_rdoc_api;
const VkPhysicalDevice m_vkPhysicalDevice;

core::string& m_profile;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what are you doing!?

you do realize the vector grows and reallocates ? you need an index into it!

Copy link
Contributor Author

@YasInvolved YasInvolved Oct 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, I forgot that it might behave like that. Let me correct that

}
}

NBL_API2 int vulkaninfo(const std::span<const std::string_view> args) { return ::vulkaninfo(args); }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove NBL_API2, you are in cpp file

Copy link
Contributor Author

@YasInvolved YasInvolved Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's a copy-paste remnant, I'm going to remove it in the next commit

smoke/main.cpp Outdated
return false;
}

nbl::video::vulkaninfo();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you defined it with const std::span<const std::string_view> but calling without args.. start testing your code before you push

return true;
}

void CVulkanConnection::exportGpuProfiles()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove this function and move it's body straight to Smoke - dump profiles on disk with known outputs (-o, check --help) and log, CI should print them

for (size_t i = 0;; i++)
{
auto arg = "--json=" + std::to_string(i);
int code = ::vulkaninfo(std::array<const std::string_view, 1>{ arg });
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

btw you could just to_array instead

Copy link
Contributor Author

@YasInvolved YasInvolved Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't even know that function exists XD
thanks

core::smart_refctd_ptr<system::ILogger>&& logger, const SFeatures& featuresToEnable
);

static void exportGpuProfiles();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// TODO: move inside `create` and call it LOG_FAIL and return nullptr
#define LOG(logger, ...) if (logger) {logger->log(__VA_ARGS__);}

extern int vulkaninfo(const std::span<const std::string_view>);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you didn't have to change original argc & argv signature, you just had to call it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alright, it's going to make things simpler in vulkaninfo. I'll use span in nabla only

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants